home *** CD-ROM | disk | FTP | other *** search
- USING INSTALL/REMOVE Normally a TSR utility is loaded simply by
- entering its name at the DOS prompt or as an entry in your
- AUTOEXEC.BAT file. In order to be able to control the
- loading/unloading of each TSR, you must run the INSTALL program before
- each TSR (or group of TSRs) is loaded. That way, pertinent
- information needed for removal can be intercepted and stored away.
- The syntax for INSTALL is:
-
- INSTALL [namelist]
-
- where namelist is the name of the TSR utilities comprising the group
- about to be loaded. The namelist parameter is an optional descriptor
- containing up to 119 characters; it does not have to match the TSR
- filenames. The descriptor is used in the list of installed utilities
- presented when REMOVE is requested to perform a deinstallation.
- The INSTALL utility should be thought of as a sort of
- 'bookmark' applied to the operating system. When INSTALL is invoked,
- it records the current state of the system; Each time REMOVE is run,
- it restores the system to the state it was in just before the last
- INSTALL. Any TSR's loaded since the last INSTALL are disabled. Up
- to 32 system states can be docketed. If you want the ability to
- delete TSR's individually, you must run INSTALL before loading each
- TSR. At the other extreme, you could run INSTALL only once, right
- after the system power-up, then load all the resident utilities your
- system can hold. Then a single call to REMOVE would purge them all.
- The following sequence (which might be included in an
- AUTOEXEC.BAT file) installs four resident programs. TIMEKEY and
- FREEZE, a pair of utilities that appeared in PC Magazine's own
- Programming/Utilities column, are each preceded by INSTALL, so they
- can be deleted one at a time. SuperKey and SideKick, the venerable
- Borland utilities, are loaded consecutively so that they will be
- erased as a group:
-
- INSTALL TIMEKEY
- TIMEKEY
- INSTALL FREEZE
- FREEZE
- INSTALL SUPERKEY SIDEKICK
- KEY
- SK
-
- Eliminating the last TSR or group of TSR's is as simple as running
- REMOVE. REMOVE displays a list of utilities currently installed (by
- echoing the descriptive names you typed in on INSTALL's command line)
- and prompts you to verify by pressing the Enter key. If the four
- utilities had been installed as shown above, running REMOVE would
- produce the following display:
-
- Number of installations: 3
-
- TIMEKEY
- FREEZE
- SUPERKEY SIDEKICK
-
- Press ENTER to remove, ESC to abort
-
- If you press the Enter key, the last group, SuperKey and SideKick,
- will be released from memory. Pressing the Esc key simply terminates
- the deinstallation harmlessly. Successive utilities may be deleted
- through successive calls to REMOVE. Running REMOVE a second time in
- the example above would show only two installations recorded, with
- FREEZE the topmost TSR queued to be deleted next.
- It's perfectly legitimate to load more TSR's than was
- indicated in the namelist parameter. REMOVE will still delete
- everything entered since the last INSTALL. REMOVE's list of installed
- utilities, however, only reflects those designated on INSTALL's
- command line. If you choose, you can even leave the command line
- empty. It's usually convenient, however, to have an accurate list of
- TSR's presented every time you run REMOVE.
- INSTALL is itself a short memory-resident utility. Every time
- it's called it consumes about 1600 bytes of memory, but, more
- importantly, it inserts a resident "wedge" in memory that contains a
- complete copy of the PC's interrupt vector table. A utility not
- preceded somwehere in memory by one of these wedges cannot be
- removed. REMOVE recovers both the the memory used by the programs it
- unloads and the memory dedicated to their identifying wedge.
- INSTALL answers the command to load additional groups beyond
- the limit of 32 with the message "No room for more." Likewise, when
- REMOVE is executed with no TSR's installed, it responds with the
- warning "None installed." Resident programs can be freely INSTALLed
- and REMOVEd as many times as you wish. In addition, there's no limit
- to the number of TSR's you can place in a group.
- Note that programs (or groups of programs) can only be deleted
- in the reverse order in which they were installed. The removal of an
- intermediate one would create all sorts of problems, one of which
- would be the tricky proposition of moving all resident routines above
- it down in memory to fill the hole, rerouting all appropriate
- interrupt vectors to the modified addresses, and altering any
- references to absolute addresses. Unfortunately, that's next to
- impossible. If you have to purge a set other than the one most
- recently loaded, run REMOVE as many times as necessary to regress to
- the one targeted, then reinstall the ones above it.
- It's also legal to run REMOVE immediately after INSTALL, with
- no TSR's loaded in between. The wedge left by INSTALL will be
- erased. In fact, although there's no obvious reason to do so, you
- can run INSTALL several times in succession, then reverse the action
- a layer at a time. You may also run other applications, if you
- prefer, between the time INSTALL is invoked and a TSR is loaded.
- In the unlikely event that you encounter a "Deinstallation
- failed" warning in the course of removing a TSR, you should probably
- reboot the system. It's possible you might encounter no adverse side
- effects without the reset, but it's also possible that down the road
- somewhere (and at the worst possible time) execution might skid to a
- halt with a critical memory allocation error.
-